package com.SmartCare.service.apiLog;

import com.baomidou.mybatisplus.extension.service.IService;
import com.SmartCare.common.Result;
import com.SmartCare.pojo.apiLog.ApiLog;
import javax.servlet.http.HttpServletResponse;

/**
 * 接口调用日志表 服务类
 */
public interface ApiLogService extends IService<ApiLog> {

    /**
     * 通过养老院名获取日志信息
     * @param name 养老院名
     * @return 返回日志信息
     */
    Result query(String name);

    /**
     * 分页查询获取日志信息
     * @param pageNum 当前页数
     * @param pageSize 每页数据数
     * @param keyword 查询关键词
     * @param type 关键词对应字段名
     * @param name 养老院名
     * @return 返回查询到的日志记录
     */
    Result search(Integer pageNum, Integer pageSize, String keyword, String type, String name);

    /**
     * 导出记录
     * @param response http响应流
     * @param name 养老院名
     */
    void export(HttpServletResponse response, String name);

    /**
     * 根据养老院名获取各模块日志排行榜
     *
     * @param careHomeName 养老院名
     * @param startTime
     * @param endTime
     * @return 返回排行榜数据
     */
    Result queryTopLogs(String careHomeName, String startTime, String endTime);

    /**
     * 根据用户分类统计日志调用次数排行
     * @param careHomeName 养老院名
     * @param startTime 起始时间
     * @param endTime 结束时间
     * @return 返回排行榜数据
     */
    Result topByUser(String careHomeName, String startTime, String endTime);
}
